#用户列表
user={}
#长度必须超过8位
def ulen(password):
    """
    密码长度判断

    """
    if len(password)<=8:
        return False
    else:
        return True



#包括大小写字母 数字 其它符号 以上四种的三种
def utype(password):
    psd=set()
    for i in password:
        if i.isdigit():
            psd.add("num")
        elif i.isupper():
            psd.add("upper")
        elif i.islower():
            psd.add("lower")
        else:
            psd.add("special")
    if len(psd)>=3:
        return True
    else:
        return False

#判断重复次数
def urepeat(password):
    for i in range(len(password)-5):
        if password.count(password[i:i+3])>=2:
            return 0
        else:
            return 1

#注册系统
def enroll():
    print("欢迎注册成为三乐购物系统会员：")
    uname=input("请输入您的用户名：")
    if uname in user:
        print("该用户名已被注册！")
    else:
        upasswd=input('''请设置您的密码（至少需要8位字符),建议您:
                            1.长度至少需要8位
                            2.包括大小写字母，数字，其他符号，以上四种至少三种
                            3.不能有长度超过或等于3的字串重复
                            ''')
        result=2
        print("温馨提示：")
        if ulen(upasswd):
            result+=1
            user[uname]=upasswd
            print(f"{uname}恭喜您注册成功")

            if utype(upasswd):
                result +=1
            else:
                print("您的密码没有由3种以上字符组成")

            if urepeat(upasswd):
                result +=1
            else:
                print("您的密码有超过或等于3的字符串重复")
            print(f"您的密码复杂度为{result}")

        else:
            print("注册失败 您的密码长度必须超过八位！！")

enroll()
